AWS Community Builders で貰った AWS クレジットをコミュニティに還元しようとした話
こんにちは、AWS事業本部@福岡オフィスのべこみん(@beco_minn)です。
本記事は AWS Community Builders - Qiita Advent Calendar 2024 の 22日目 の記事となっています。
さて皆さん、AWS が提供している AWS Community Builders (以下、AWS CBs)というプログラムをご存知でしょうか?
AWS CBs は、AWS コミュニティに参加し技術的なアウトプットを行なっている人たちを応援してくれるプログラムです。
18 歳以上であれば年に一回応募可能で、審査に通れば誰でも AWS CB になることが出来ます。
様々な特典があるので、現在 AWS コミュニティに貢献してる自覚がある方は是非次回の応募期間に応募してみてください。(次回は 2025年1月6日〜)
詳しく知りたい方は以下のページをご参照ください。
特典などについて知りたい方はこちらの記事もおすすめです。
本記事は、今年初めて AWS CBs に採択された私が AWS CBs の特典である AWS クレジットを AWS コミュニティに還元しようと思い、実際に取った行動ややり残したことについて備忘録的に書いたものです。
何をやろうとしたのか?
先述の通り、AWS CBs に採択されるとたくさんの特典が貰えます。
AWS サービスの新機能についてのプライベートウェビナーやオリジナル SWAG、AWS クレジットなどなど。
その中でも AWS クレジットは $500 と、個人にしてはなかなかの額が貰えます。
そんな AWS クレジットの活用方法ですが、私がパッと思いついたのは以下の2つ。
- 気になる AWS サービスの検証
- コミュニティイベントで実施するハンズオンの検証
貰ったクレジットは個人アカウントに適用して利用しているのですが、上記だけではなかなか使いきれません。
また、直近で参加した学生向けのコミュニティイベントで「学生はクレジットカードを持っていない人も多く、AWS が利用しにくい」という声も聞いていました。
そこで私はこう思いました。
「学生もウェルカムなハンズオンイベントを開いて、参加者の利用費をこのクレジットで負担するのはどうだろう」
実際に何をやったのか
というわけで「AWS のアカウントを持っていない人、初めて作る人でも楽しめる初心者向けハンズオンイベント」をテーマにイベントを企画しました。
実際に開催したイベントはこちら。
結果、当日は学生 6 名含め 9 名ほどに参加して頂きイベントとしては成功しました。
現地まで来て下さった沼口さん、イベント運営を行なってくれたJAWS-UG福岡のメンバー、そして参加者の方々にはとても感謝しています。ありがとうございました。
このイベントを開催するにあたり、私は「利用者の負担を少なく、でもよりセキュアにこれを実現したい」と考えました。
実際に利用してもらうのは私のアカウントなわけですからね。オフラインのハンズオンイベントとはいえ、何か誤った操作で高額なサービスやインスタンスの立ち上げが行われてしまうとせっかくのクレジットが吹き飛んでしまいます。
ということで以下のことを実施しました。
- ハンズオンの選定とドライラン
- 初心者が AWS の良さを知れるように、オートスケール手順のある基本的な EC2 + RDS + ALB の Web 3 層構成のハンズオンを選定
- AWS Organizations & AWS IAM Identity Center の検証
- 私が AWS Organizations や AWS IAM Identity Center によるマルチアカウントの管理をあまり行なったことがなかったため、アカウント発行方法や管理方法を検証
- 特に当日イベント参加者に負担が少ないような方法を検討
- AWS Organizations による子アカウントの発行
- AWS Organizations のデフォルトクォータは割と低めなので、事前にアカウントの発行や削除、OU の作成などを行いました
- また、利用者が誤って高額なサービスやインスタンスの立ち上げられないように SCP で最低限の制限を実施
- AWS IAM Identity Center のユーザー発行と子アカウントへの紐付け
- より簡単にセキュアに AWS アカウントへログインしてもらうため、AWS IAM Identity Center のユーザーを発行して子アカウントと紐付けました
- 作成した子アカウント環境でのハンズオンのドライラン
- 個人のアカウントではドライランを実施したのですが、新規作成した子アカウントでも問題なく実施出来るかのドライランは重要です
- 当日の作業
- 当日はアカウントの貸出を希望する参加者のメールアドレスを利用し、事前に用意しておいた Identity Center のユーザーに参加者のメールアドレスを登録しました
- また、ログイン方式はメールアドレスにワンパスワードを送る形式にすることで割とセキュアに Identity Center のコンソールにログインしてもらえると考えていました
- ハンズオンイベント当日の23:59まで復習のためアカウントは利用出来ることを参加者に伝え、期限を過ぎた際には手動で紐付けを外した
上記の中でも特に「AWS Organizations & AWS IAM Identity Center の検証」でいくつか気になることが浮上しました。
その中でも特に気になったのが「AWS Organizations で作ったアカウント、何も初期設定しなくて大丈夫?安全?」でした。
特に root ユーザーの扱いが気になったんですが、調べてみるとこんなユーザーガイドが。
新しいアカウントを作成すると、AWS Organizations ではまず、文字長が最低でも 64 文字のパスワードを root ユーザーに割り当てます。すべての文字はランダムに生成され、特定の文字セットが登場する保証もありません。この初期パスワードを再び取得することはできません。root ユーザーとしてアカウントに初めてアクセスする場合は、パスワード復旧プロセスを行う必要があります。
引用元: AWS Organizations を使用したルートユーザーとしてのメンバーアカウントへのアクセス - AWS Organizations
この仕様であれば安全ですね。root ユーザーを利用しないのであれば特に何もしなくて良さそうだ、という結論になりました。
出来なかったこと、これからやりたいこと
ここからは後悔と来年に向けた抱負です。
まずは後悔から。
- ハンズオンイベントを 1 回しか開催出来なかった
- せっかく色々検証して 10 アカウントぐらい子アカウントを用意していたのに、 1 名にしか使ってもらえなかった
- SCP でハンズオンが出来る最小限の権限に縛ろうとしたが、準備のカロリーが高く断念した
はい。まずは 1 つ目ですね。
ハンズオンイベントを 1 回しか開催出来なかった
今年はハンズオンイベントを 1 回しか開催出来ませんでした。。。
ハンズオンイベント、特に初心者向けは複数回開催してこそコミュニティの裾野を広げることが出来ると思ってます。
なので来年はもう少し開催頻度を上げたいです。
続いて、2 つ目。
せっかく色々検証して 10 アカウントぐらい子アカウントを用意していたのに、 1 名にしか使ってもらえなかった
参加者は学生の方が多かったんですが、皆さん意識が高く個人アカウントで参加してくれました。
準備が報われなかったながらも、個人のアカウントでこれからも AWS を利用してもらえると思うとこれはこれで嬉しい結果です。
ちなみにイベント会場で初めてアカウント作成作業を行なった方も数名いらっしゃいました。
そして最後。
SCP でハンズオンが出来る最小限の権限に縛ろうとしたが、準備のカロリーが高く断念した
見ず知らずの第三者に AWS アカウントを渡すというのは、自分の財布を渡すようなものです。世の中悪人だらけだとは思いませんが、ゼロトラストの精神で出来るだけ権限は縛りたいですよね。
ただ、コンソール上の操作に必要な権限をすべて SCP で表現するのは、プライベートの隙間時間でやるにはかなりカロリーが高く辛かったです。なので今年は高額インスタンスの制限や明らかに不要なサービスの制限など、最低限の制限を行いました。
コンソール操作時に叩いているAPIを裏で記録するような仕組みを作って、来年こそはここにチャレンジしたいです。
最後に
なんだかまとまりのない内容になってしまいましたが、個人の振り返り兼備忘録として書けて楽しかったです。
CBs の活動や特典の使い道はそれぞれなので、私はこの方法が適切だとは思っていませんし他人に押し付けたいとも思っていません。
もしこの記事に触発され、CBs を目指す方であったりコミュニティ活動を行なってくれる方が増えてもらえると幸いです。
ちょっとでも「AWS Community Builders いいな」とそこのあなた!!こちらの記事もぜひ読んで下さい。
次の募集は 2025年1月6日 からです。
以上、べこみんでした。